package javasea.proto.cmdBatch.entity;

import java.io.Serializable;
import java.util.UUID;

/**
 * @ClassName PrintParam
 * @Description 实现标签打印控制的模板信息实体类
 * @Author longxiaonan@163.com
 * @Date 2018/10/9 0009 16:38
 */
public class PrintParam implements Serializable {

    private static final long serialVersionUID = -7033707301911515194L;

    /**
     * torr： 托 二维码，
     * material：零件 二维码，
     * aluminum：铝模板 二维码，
     * aluminumQrAndBar：铝模板 二维码和条形码，
     * assemble：免拼装 二维码
     * position: 仓位
     * aluminumNoQr: 没有二维码的标签，2020-6月份梁晓锋提出的改制模板
     * KeBaoAluminum: 科保的铝模板
     * Aluminum4060: 欣阳的铝模板
     * Aluminum4080: 欣阳的铝模板
     * KeBaoTorr: 科保的托码
     * KeBaoAPackage: 科保的包码
     * 打印模板类型
     */
    private String teamplateCode;

    private CodeType codeType;

    private String sourceCode;

    public enum CodeType {
        qrCode,   //打印二维码
        barCode,  //打印条形码
        qrAndBarCode,    //打印二维码+条形码
    }

    /**
     * 打印的编码格式为"公司名称-规格编号-总数:第几块"，如“ZHIRUI-V3060-100:1”
     **/
    private String code;
    /**
     * 公司名称
     */
    private String company;

    /**
     * 名称
     */
    private String name;
    /**
     * 生产单主题
     */
    private String theme;
    /**
     * 编号
     */
    private String bianhao;

    /** 包号 */
    private String packCode;

    /** 包内序号 */
    private String packNumber;

    /**
     * 条形码编号
     **/
    private String bianhaoBar;

    /**
     * 规格
     */
    private String guige = "";
    /**
     * 描述
     */
    private String des;
    /**
     * 二维码内容
     */
    private String qrcodeContent;

    /**
     * nio client id
     */
    private String nioClientCode;
    /**
     * 打印机ip
     */
    private String host;

    private Integer port;

    /**
     * 打印机名称
     */
    private String printerModel;

    /**
     * 消息的唯一ID
     */
    private String uniId = UUID.randomUUID().toString();

    /**
     * ################托打印的时候需要的信息########## start ###########
     */
    /**
     * 项目名称
     */
    private String project;
    /**
     * 楼栋
     */
    private String build;

    /**
     * 仓库
     */
    private String warehouse;
    /**
     * 仓位
     */
    private String position;

    /**
     * 托下铝模板种类数量
     */
    private Integer categoryCount;

    /**
     * 托下铝模板的数量
     */
    private Integer count;
    /**
     * ################托打印的时候需要的信息########## end ###########
     */

    /**
     * ################免拼装的二维码信息########## start ###########
     */
    /**
     * 模板编码
     */
    private String aluminumCode;
    /**
     * 模板类型
     */
    private String aluminumType;
    /**
     * 分区
     */
    private String partition;
    /**
     * 安装位置
     */
    private String installation;
    /**
     * 公司地址
     */
    private String address;
    /**
     * 联系电话
     */
    private String phoneNumber;
    /**
     * ################免拼装的二维码信息########## end ###########
     */
    /**
     * 生产日期
     */
    private String produceDate;


    public String getTeamplateCode() {
        return teamplateCode;
    }

    public void setTeamplateCode(String teamplateCode) {
        this.teamplateCode = teamplateCode;
    }

    public CodeType getCodeType() {
        return codeType;
    }

    public void setCodeType(CodeType codeType) {
        this.codeType = codeType;
    }

    public String getSourceCode() {
        return sourceCode;
    }

    public void setSourceCode(String sourceCode) {
        this.sourceCode = sourceCode;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTheme() {
        return theme;
    }

    public void setTheme(String theme) {
        this.theme = theme;
    }

    public String getBianhao() {
        return bianhao;
    }

    public void setBianhao(String bianhao) {
        this.bianhao = bianhao;
    }

    public String getPackCode() {
        return packCode;
    }

    public void setPackCode(String packCode) {
        this.packCode = packCode;
    }

    public String getPackNumber() {
        return packNumber;
    }

    public void setPackNumber(String packNumber) {
        this.packNumber = packNumber;
    }

    public String getBianhaoBar() {
        return bianhaoBar;
    }

    public void setBianhaoBar(String bianhaoBar) {
        this.bianhaoBar = bianhaoBar;
    }

    public String getGuige() {
        return guige;
    }

    public void setGuige(String guige) {
        this.guige = guige;
    }

    public String getDes() {
        return des;
    }

    public void setDes(String des) {
        this.des = des;
    }

    public String getQrcodeContent() {
        return qrcodeContent;
    }

    public void setQrcodeContent(String qrcodeContent) {
        this.qrcodeContent = qrcodeContent;
    }

    public String getNioClientCode() {
        return nioClientCode;
    }

    public void setNioClientCode(String nioClientCode) {
        this.nioClientCode = nioClientCode;
    }

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public String getPrinterModel() {
        return printerModel;
    }

    public void setPrinterModel(String printerModel) {
        this.printerModel = printerModel;
    }

    public String getUniId() {
        return uniId;
    }

    public void setUniId(String uniId) {
        this.uniId = uniId;
    }

    public String getProject() {
        return project;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public String getBuild() {
        return build;
    }

    public void setBuild(String build) {
        this.build = build;
    }

    public String getWarehouse() {
        return warehouse;
    }

    public void setWarehouse(String warehouse) {
        this.warehouse = warehouse;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public Integer getCategoryCount() {
        return categoryCount;
    }

    public void setCategoryCount(Integer categoryCount) {
        this.categoryCount = categoryCount;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public String getAluminumCode() {
        return aluminumCode;
    }

    public void setAluminumCode(String aluminumCode) {
        this.aluminumCode = aluminumCode;
    }

    public String getAluminumType() {
        return aluminumType;
    }

    public void setAluminumType(String aluminumType) {
        this.aluminumType = aluminumType;
    }

    public String getPartition() {
        return partition;
    }

    public void setPartition(String partition) {
        this.partition = partition;
    }

    public String getInstallation() {
        return installation;
    }

    public void setInstallation(String installation) {
        this.installation = installation;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getProduceDate() {
        return produceDate;
    }

    public void setProduceDate(String produceDate) {
        this.produceDate = produceDate;
    }
}
